/**
 * Odontosis - (2008 - Eclipse 3.3 - JDK1.6 Update 3) 
 */
package com.odontosis.entidade;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Table;

import org.hibernate.validator.Length;
import org.hibernate.validator.NotEmpty;


/**
 * Business Object Usu�rio.
 * @author Oto
 * @version
 * �ltima modifica��o: $Author$<br>
 * Vers�o: $Revision$ $Date$
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "usuario")
public class Usuario extends OdontosisBusinessObject {

	@NotEmpty
	@Length(min=3, max=20)
	@Column(name = "login", unique = false)
	private String login;
	
	@NotEmpty 
	@Length(min=3, max=100)
	private String nome;
	
	@NotEmpty 
	@Length(min=3, max=20)
	private String senha;
	
	@NotEmpty
	@Enumerated(EnumType.ORDINAL)
	@Column(name = "grupo_usuario")
	private GrupoUsuario grupo;

	public GrupoUsuario getGrupo() {
		return grupo;
	}

	public void setGrupo(GrupoUsuario grupo) {
		this.grupo = grupo;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}
	
	

	/**
	 * {@inheritDoc}
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		StringBuilder buffer  = new StringBuilder();
		buffer.append("[id=").
			append(getId()).
			append(",login=").
			append(this.login).
			append(",nome=").
			append(this.nome).
			append(']');
		return buffer.toString();
	}
}
